Various collaborative applications are known that allow users at different workstations to concurrently share electronic data and information and all simultaneously view the same information, make changes to the information in real time, and view the changed information (akin to an “electronic whiteboard” session, a “NetMeeting®” session (“NetMeeting®” is a registered trademark of Microsoft Corporation of Redmond, Wash.), or a “WebEx®” session (“WebEx®” is a registered trademark of WebEx Communication Inc. of San Jose, Calif.)). Such applications typically utilize a common server, and all participants connect into the application and the electronic whiteboard session via the common server. Thus, as the various session participants send data messages that add, delete, and/or otherwise modify data, the server processes the messages and makes the results available to the participants.
In many instances, two or more session participants will send incoming and possibly conflicting messages to the electronic whiteboard session with respect to existing data on the system. In such instances, the server determines which incoming data messages are processed, as well as the processing order of the incoming signals, and it resolves any conflicting and/or inconsistent incoming message data instructions according to some predetermined protocol (typically the time of receipt).
Alternatively, in some instances, rather than connecting to a common server, one participant's machine in a session is designated as the de facto “server.” In that instance, this participant's machine resolves conflicting or incoming message data (again, typically based on the time of the incoming data message to that machine).
While such available electronic whiteboard sessions using an actual or de facto server are useful, they suffer from certain disadvantages that limit their usefulness. For example, setting up an electronic whiteboard session and informing potential participants of the information necessary to join the session can be a time-consuming and confusing project, particularly if numerous participants need to or may need to be involved. Users typically need to log into the session, using a previously obtained password and other connection information. It may be difficult, at least in some instances, for the party setting up the electronic whiteboard session to determine who should receive and have access to the log in information. While this security may be necessary in some situations for sensitive communications, these advance-planning requirements make it inconvenient and sometimes impossible to use electronic whiteboard communications, particularly if a session is needed in an impromptu manner. Moreover, if a potential participant does not receive or cannot locate the required log in information, she may be unable to join into the session or substantially delayed in joining it. Additionally, many users may not know the server to use for these various types of sessions, which hampers their ability to join into a session.
Many communications do not require this level of security. For example, employees of a single company located within the company's facilities communicating over a local subnet or an intranet may not need the added log in and security features of typical electronic whiteboard communications.
Additionally, use of a single server (actual or defacto) can cause data transfer difficulties if the transmission is interrupted for any reason. Transmission interruptions occur frequently, particularly for users connected to the system through transient connections, such as wireless connections. Interruption of a wireless connection (or other connection) may result in the need for users to re-log into the session, causing delays and communication difficulties. Additionally, if the user of the machine serving as the de facto server leaves a session for any reason, this may result in interruptions and/or session failure for the other remaining users.
Accordingly, there is a need in the art for an application that will allow plural users to reliably communicate with one another using data messages in a collaborative manner (e.g., in an electronic whiteboard session) that avoids one or more of the various disadvantages described above. Such a system should allow participants to freely enter and leave the session while still enabling reliable transmission of all the message data to all participants in the session, including to participants that arrive late and/or after other participants have left the session.